﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Common.Entities
{
    public class Structure
    {
        public int Id;//ид здания
        public string Name;//имя здания
        public decimal Income;//сколько приносит пряников в сек
        public decimal GingerManIncome;//сколько приносит пряничных человечков
        public decimal AdvancedGingerManIncome;//сколько приносит улучшенных пряничных человечков
        public decimal GlasurIncome; //сколько приносит глазури
        public decimal GingerStore;//сколько хранит пряников
        public decimal GlasurStore;//сколько хранит глазури
        public decimal GingerManStore;//сколько хранит пряничных человечков
        public decimal AdvancedGingerManStore;//сколько хранит улучшенных пряничных человечков
        public decimal ScienceModifier;//насколько ускоряет исследования
        public decimal BuildModifier;//насколько ускоряет строительство
        public int BuildTime;//начальное время постройки в секундах
        public int Type;//0-прибыль, 1-хранилища, 2-разное

        public long BasePrice;//начальная стоимость, дальше рассчитывается динамически, на основе кол-ва зданий, апгрейдов и т.п.

        /// <summary>
        /// Создает описание здания, задает ему свойства
        /// </summary>
        /// <param name="id">Уникальный номер здания</param>
        /// <param name="name">Название здания</param>
        /// <param name="income">Доход от здания в пряниках в секунду</param>
        /// <param name="gingerManIncome">Кол-во производимых пряничных человечков в секунду</param>
        /// <param name="advancedGingerManIncome">Кол-во производимых улучшенных пряничных человечков</param>
        /// <param name="glasurIncome">Доход от здания в граммах глазури в секунду</param>
        /// <param name="basePrice">Начальная стоимость здания</param>
        /// <param name="advancedGingerManStore">Вместимость хранилища улучшенных пряничных человечков</param>
        /// <param name="buildModifier">Модификатор скорости строительства</param>
        /// <param name="gingerManStore">Вместимость хранилища пряничных человечков</param>
        /// <param name="glasurStore">Вместимость хранилища глазури</param>
        /// <param name="gingerStore">Вместимость хранилища пряников</param>
        /// <param name="scienceModifier">Модификатор скорости исследований</param>
        /// <param name="type">Тип здания: 0-прибыль, 1-хранилища, 2-разное</param>
        public Structure(int id, string name, decimal income, decimal gingerManIncome, decimal advancedGingerManIncome, decimal glasurIncome, decimal gingerStore, decimal glasurStore, decimal gingerManStore, decimal advancedGingerManStore, decimal scienceModifier, decimal buildModifier, long basePrice, int buildTime, int type)
        {
            Id = id;
            Name = name;
            Income = income;
            GingerManIncome = gingerManIncome;
            AdvancedGingerManIncome = advancedGingerManIncome;
            GlasurIncome = glasurIncome;
            GingerStore = gingerStore;
            GlasurStore = glasurStore;
            GingerManStore = gingerManStore;
            AdvancedGingerManStore = advancedGingerManStore;
            ScienceModifier = scienceModifier;
            BuildModifier = buildModifier;
            BasePrice = basePrice;
            BuildTime = buildTime;
            Type = type;
        }
    }
}
